#pragma once
#include <wdm.h>

EXTERN_C_START
NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT driver_object, _In_ PUNICODE_STRING registry_path);

VOID DriverUnload(_In_ PDRIVER_OBJECT driver_object);

NTSTATUS DriverDefaultDispatch(_In_ PDEVICE_OBJECT device_object, _In_ PIRP irp);

NTSTATUS DriverPnpDispath(_In_ PDEVICE_OBJECT device_object, _In_ PIRP irp);

NTSTATUS DriverReadDispatch(_In_ PDEVICE_OBJECT device_object, _In_ PIRP irp);

NTSTATUS DriverCleanupDispatch(_In_ PDEVICE_OBJECT device_object, _In_ PIRP irp);

EXTERN_C_END

#pragma alloc_text(INIT, DriverEntry)
#pragma alloc_text(PAGE, DriverUnload, DriverDefaultDispatch, DriverPnpDispath, DriverReadDispatch, DriverCleanupDispatch)
#pragma alloc_text(NONPAGED, )

